Windows 音频设备 Code 19:安全诊断、驱动恢复与旧硬件迁移

设备管理器的黄色感叹号只是入口;先打开设备“属性”的“常规”页,确认它确实是 Code 19,并记下发生错误的准确设备。扬声器无声、端点未选中、服务停止、硬件未连接和 Code 19 不是同一种故障。

安全边界: 不要运行注册表清理器,不要搜索后批量删除 KMIXERRealtekUpperFiltersLowerFilters,不要给 Everyone 完全控制权限,也不要从驱动镜像站下载包。先建立备份和恢复点,一次只处理一个已确认的设备或软件包。

适用范围与旧系统边界

本文当前流程面向仍受支持的 Windows 11 版本,或组织明确仍支持的 Windows 版本。Windows XP 的扩展支持已于 2014 年结束;Windows 10 Home/Pro 的常规支持也已于 2025 年 10 月结束。LTSC、ESU 和受管设备以各自合同与生命周期为准。

2011 年原文中的 Microsoft Kernel Wave Audio Mixer 属于 Windows XP 时代的音频模型。Windows Vista 以后,Windows Audio Endpoint Builder 枚举并创建面向用户的音频端点;不要在现代 Windows 中期待完全相同的设备名称或注册表布局。

Code 19 实际表示什么

微软的当前说明是:Windows 无法启动该硬件,因为注册表中的配置信息不完整或损坏。可能原因包括:同一设备定义了多个服务、无法打开服务项,或无法从服务项取得驱动名称。

这说明故障位于设备安装/服务配置链,不证明某个包含 kmixer 或厂商品牌名的注册表项“多余”。现代音频栈可能同时包含:

  • 总线、芯片组或 DSP/音频控制器驱动;
  • 音频编解码器、USB、蓝牙、HDMI/DisplayPort 功能驱动;
  • 上层/下层筛选驱动和 Audio Processing Object;
  • Windows Audio 与 Windows Audio Endpoint Builder 服务;
  • 扬声器、耳机、麦克风等端点。

删错类级筛选器、服务或驱动包,可能同时破坏多个设备。

改变系统前先建立恢复条件

  1. 备份需要保留的文件,并确认备份可读。
  2. 打开“创建还原点”,确认系统保护已启用,然后创建带日期和故障说明的还原点。还原点不是个人文件备份。
  3. 如果设备使用 BitLocker,确认恢复密钥可用;从 Windows 恢复环境执行系统还原时可能需要它。
  4. 记录 Windows 版本/内部版本、机器准确型号、最近的 Windows/驱动/音频软件变更和故障首次出现时间。
  5. 在设备管理器记录设备名称、设备状态全文、硬件 ID、驱动提供商、版本、日期、数字签名者和“事件”页时间线。

不要在还没有可用恢复点、OEM 驱动和回滚路径时卸载驱动包或修改注册表。

收集可复查的证据

设备管理器先定位准确层次

展开“声音、视频和游戏控制器”、“音频输入和输出”以及可能的“系统设备”。不要因为一个端点无声,就卸载所有音频项目。

观察 更可能的层次 下一步
设备明确显示 Code 19 设备安装、服务或筛选器配置 保存设备属性与 SetupAPI 日志,按 Code 19 路径处理
所有设备正常但没有声音 输出选择、静音、增强、格式、应用或服务 运行 Get Help 音频疑难解答,检查输出与服务
只有 HDMI/USB/蓝牙端点异常 对应显卡、USB 或蓝牙栈 只处理该路径的设备和 OEM 包
音频控制器完全消失 固件、芯片组、硬件或总线 查 OEM 诊断和固件设置,不做注册表清理
更新后立即发生 新驱动/组件包不兼容或安装未完成 优先检查回退驱动与安装日志

用只读 PowerShell 记录状态

在 PowerShell 中运行以下命令。它们只读取设备、已签名驱动和服务状态:

Get-PnpDevice -PresentOnly | Where-Object { $_.Class -in @('MEDIA','AudioEndpoint') } | Format-Table Status,Class,FriendlyName,InstanceId -AutoSize
Get-CimInstance Win32_PnPSignedDriver | Where-Object { $_.DeviceClass -eq 'MEDIA' } | Select-Object DeviceName,DriverProviderName,DriverVersion,DriverDate,Signer
Get-Service Audiosrv,AudioEndpointBuilder | Format-Table Status,Name,DisplayName -AutoSize

InstanceId、机器名、用户名和某些驱动路径可能属于资产信息;向论坛或厂商提交前应遮盖。不要把整份系统清单公开上传。

查看事件与设备安装日志

先记录故障时间,再查看系统事件中相邻的 Kernel-PnP、UserPnp 和 Service Control Manager 事件。Microsoft 还说明,setupapi.dev.log 会记录设备安装和签名问题;它位于 Windows 的 INF 目录。

Get-WinEvent -LogName System -MaxEvents 300 | Where-Object { $_.ProviderName -match 'Kernel-PnP|UserPnp|Service Control Manager' } | Select-Object TimeCreated,Id,LevelDisplayName,ProviderName,Message
notepad "$env:SystemRoot/INF/setupapi.dev.log"

在日志中以设备实例 ID 和故障时间为锚点,查找实际失败的 INF、服务或签名,而不是把每个警告都当原因。分享片段前遮盖设备实例 ID、用户路径、网络位置和组织名称。

当前 Windows 的安全修复顺序

每完成一步就重启或重新扫描并验证 Code 19、服务和声音;成功后停止,不要继续“清理”。

1. 排除普通的输出与连接问题

确认正确输出设备、音量、静音、音频增强、线缆/接口和应用内输出。Windows 11 先运行 Get Help 应用中的音频疑难解答。它不能证明 Code 19 已修复,因此之后仍要回到设备属性检查错误码。

2. 验证并重启音频服务

先确认 Windows AudioWindows Audio Endpoint Builder 的状态。若设备正常而服务未正确启动,按微软音频说明在“服务”中一次重启一个音频服务并测试。不要更改服务账户、依赖项或启动类型,也不要删除服务项。

3. 若故障紧随更新,优先回退驱动

在准确设备的“属性 → 驱动程序”中选择“回退驱动程序”,前提是按钮可用且时间线吻合。记录回退前后的版本,并重启验证。不要为了获得旧版而从第三方镜像下载驱动。

4. 只重装已确认的设备

微软对 Code 19 的当前建议是卸载并重新安装该设备:

  1. 确认 OEM/Windows Update 中有适配准确机型、Windows 版本和架构的签名驱动。
  2. 在设备管理器中只选择显示 Code 19 的设备,执行“卸载设备”。
  3. 除非 OEM 或 Microsoft 的准确流程要求且替代包已验证,否则不要勾选删除驱动包的选项。
  4. 通过“操作 → 扫描检测硬件改动”或一次正常重启重新枚举。
  5. 核对驱动提供商、版本、数字签名、设备状态和 SetupAPI 的新时间段。

如果 OEM 音频包依赖芯片组、平台 DSP 或显卡音频组件,使用 OEM 针对该机型的安装顺序。不要对所有“声音”设备重复卸载。

5. 使用恢复点撤销已知的系统变化

如果 Code 19 从某次驱动、软件或配置变更后开始,而且重装准确设备无效,可选择故障发生前的系统还原点。先阅读将受影响的应用和驱动清单;系统还原会回退系统文件、注册表和已安装程序,但不能代替个人文件备份。恢复完成后重新安装当前安全更新并验证音频。

驱动来源与签名

首选顺序是 Windows Update、设备制造商对准确机型的支持页、以及硬件组件厂商在 OEM 明确允许时提供的官方包。Microsoft 明确建议避免从制造商官网以外的网站下载驱动。

保存下载页面、包版本、适用机型/硬件 ID、发布日期、文件哈希和数字签名者。签名只能证明发布者与完整性链的一部分,不能弥补型号或 Windows 版本不匹配。

不要使用:

  • 驱动聚合器、镜像站、论坛附件或“万能声卡包”;
  • 要求关闭驱动签名强制或安装测试证书的未知包;
  • 从另一台机器复制的 .sys、INF 或注册表片段;
  • 承诺“一键修复”的注册表清理器或驱动更新器。

如果只有 XP/Vista 时代的未签名驱动,合理结论通常是迁移硬件或操作系统,而不是降低当前系统的安全策略。

注册表、服务与筛选器的边界

Windows 的 PnP 筛选器可附着在功能驱动的上层或下层;相应列表由 INF/安装程序维护。孤立或顺序错误的筛选器确实可能造成设备配置故障,但 UpperFiltersLowerFilters 是结构,不是“看到就删”的垃圾项。

安全处理原则:

  1. 先从 SetupAPI 日志和设备事件确认哪一个具体软件包或服务失败。
  2. 优先通过“设置 → 应用”、设备管理器或厂商卸载器移除造成问题的音频增强、虚拟音频、采集或旧驱动软件。
  3. 再安装同一发布者的修正版或 OEM 包,并验证签名与适用范围。
  4. 只有 Microsoft/OEM 支持人员针对准确设备和值给出书面步骤时,管理员才应导出准确项、修改一个命名值、重启验证并保留立即恢复的路径。

不要按关键词删除整个类项,不要给 Everyone 完全控制,不要取得系统项所有权,不要删除未知服务,也不要把其他设备类别的 CD/DVD “UpperFilters/LowerFilters 修复”套到音频设备。若无法把某个值对应到已知的签名驱动或卸载项,应停止并升级给厂商支持。

XP 时代硬件的安全迁移

Windows XP SP3 已停止支持;历史文章中的 UAA 补丁、KMIXER 批量删除和权限接管不是面向联网生产设备的当前路径。

  • 先确认硬件厂商是否提供受支持 Windows 版本的驱动和固件;若没有,把它视为迁移约束。
  • 优先更换为有当前签名驱动的音频接口或整机,而不是维持不受支持的内核驱动。
  • 如果旧应用/设备暂时必须保留,隔离网络、限制数据交换、制作可恢复的整盘映像,并记录正版介质和授权;这只是风险隔离,不会让 XP 重新获得支持。
  • 虚拟化可能保留旧应用,但不保证专用 PCI/音频硬件、时序或驱动能工作;先在副本上测试,不绕过软件授权。
  • 迁移用户数据、工程文件和设置文档,不要把未知驱动二进制、激活材料或整套旧注册表带入新系统。

验证与回滚矩阵

改变 成功证据 停止条件 回滚
Get Help/输出设置 正确端点播放,设备状态正常 Code 19 仍在 保留设置证据,进入设备路径
重启音频服务 两个音频服务运行,播放/录音恢复 服务再次停止或依赖报错 重启系统,保存事件并升级处理
回退准确设备驱动 Code 19 消失,版本与预期一致 更多设备异常或签名错误 使用“更新驱动程序”恢复 OEM/Windows Update 版本
卸载并重新枚举准确设备 设备以签名驱动重建且重启后稳定 找不到替代驱动、错误扩散 用恢复点或 OEM 包恢复
系统还原 恢复前已列出影响,恢复后设备和服务正常 恢复点过旧、BitLocker 密钥不可用、影响不可接受 取消;选择 Microsoft/OEM 支持路径
厂商指导的单值修复 日志所指问题消失且重启稳定 目标/值不明确或无导出备份 立即导入准确备份或使用系统还原

最后测试内置扬声器、耳机、麦克风以及实际使用的 HDMI/USB/蓝牙路径;再测试重启、睡眠/唤醒和一次 Windows 更新后的启动。确认设备管理器无 Code 19,服务保持运行,事件日志不再重复同一安装失败。

什么时候停止并求助

  • 设备属于企业/学校,驱动、BitLocker 或安全策略受管理。
  • Code 19 同时影响多个设备类别,或系统还出现启动、签名、文件系统错误。
  • SetupAPI 指向未知/无签名筛选器、恶意软件嫌疑或无法验证的旧安全软件。
  • 唯一可用驱动要求关闭安全功能,或 OEM 明确不支持当前系统。
  • 没有备份、恢复点、BitLocker 恢复密钥或可验证的替代驱动。

保存去标识化的设备属性、日志时间段和已尝试步骤,交给设备 OEM、Microsoft 支持或组织 IT。不要通过扩大注册表删除范围来“试到成功”。

当前官方资料

历史原文存档(2011,仅供考证)

警告与存档说明: 以下为 source_export 的完整可见正文,仅规范化行尾空白,并把四个唯一的失效 HTTP 图片目标(共八处 URL)替换为标注占位符。原文包含批量删除注册表、取得受保护项权限并授予 Everyone 完全控制等高风险 XP 时代做法;纯文本围栏使其不成为当前可执行指南。未作其他删节或改写,原始 URL 仍保存在 source_export/Git 来历中。

解决:microsoft kernel wave audio mixer 显示黄色感叹号,错误代码code 19

Table of Contents

Toggle

- [问题描述](https://blog.lazying.art/en/html/computer_internet/488/%e8%a7%a3%e5%86%b3%ef%bc%9amicrosoft-kernel-wave-audio-mixer-%e6%98%be%e7%a4%ba%e9%bb%84%e8%89%b2%e6%84%9f%e5%8f%b9%e5%8f%b7%ef%bc%8c%e9%94%99%e8%af%af%e4%bb%a3%e7%a0%81code-19.html/#%E9%97%AE%E9%A2%98%E6%8F%8F%E8%BF%B0)
- [原因分析](https://blog.lazying.art/en/html/computer_internet/488/%e8%a7%a3%e5%86%b3%ef%bc%9amicrosoft-kernel-wave-audio-mixer-%e6%98%be%e7%a4%ba%e9%bb%84%e8%89%b2%e6%84%9f%e5%8f%b9%e5%8f%b7%ef%bc%8c%e9%94%99%e8%af%af%e4%bb%a3%e7%a0%81code-19.html/#%E5%8E%9F%E5%9B%A0%E5%88%86%E6%9E%90)
- [解决方案](https://blog.lazying.art/en/html/computer_internet/488/%e8%a7%a3%e5%86%b3%ef%bc%9amicrosoft-kernel-wave-audio-mixer-%e6%98%be%e7%a4%ba%e9%bb%84%e8%89%b2%e6%84%9f%e5%8f%b9%e5%8f%b7%ef%bc%8c%e9%94%99%e8%af%af%e4%bb%a3%e7%a0%81code-19.html/#%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88)
- [后记](https://blog.lazying.art/en/html/computer_internet/488/%e8%a7%a3%e5%86%b3%ef%bc%9amicrosoft-kernel-wave-audio-mixer-%e6%98%be%e7%a4%ba%e9%bb%84%e8%89%b2%e6%84%9f%e5%8f%b9%e5%8f%b7%ef%bc%8c%e9%94%99%e8%af%af%e4%bb%a3%e7%a0%81code-19.html/#%E5%90%8E%E8%AE%B0)

## 问题描述

ThinkPad T400新装的正版 XP SP3, 在正确安装了官方驱动后有声音,但重启后就没有声音,进入设备管理器发现microsoft kernel wave audio mixer 显示黄色感叹号,错误代码code 19,开始几次只要更新驱动后就有声音,但后来更新驱动也没有声音了。

网上有说安装UAA补丁及更新驱动的方法,都不行!

## 原因分析

故障肯定来自于那些包含 KMIXER、Microsoft Kernel Wave Audio Mixer、Realtek 的注册表项。这些注册表里肯定有错误的设置。

## 解决方案

我删除了 KMIXER、Microsoft Kernel Wave Audio Mixer、Realtek 在注册表中的相关内容,但是我没有在注册表中搜索到Realtek High Definition Audio。

删除后,我直接重启电脑,发现Microsoft Kernel Wave Audio Mixer依然被自动安装上去,并且正常工作。接着,我重启两次后发现该驱动都被正常安装了。这个问题终于解决了!

**友情提示1:**
 我第一次只删除了包含kmixer的项、包含kmixer(***kmixer***)的“值”和包含kmixer(***kmixer***)的数据的值,重启依旧不行。说明删除得不彻底。

**友情提示2:**
 我当时删除包含 kmixer 的项、值、数据时,直接搜索 Microsoft Kernel Wave Audio Mixer 没有结果。

我发现 Microsoft Kernel Wave Audio Mixer 和 Kmixer(***kmixer***) 在同一个项里。所以我把只要包含kmixer(***kmixer***)的“项”全删除了。

[![]([REDACTED: dead insecure image URL])]([REDACTED: dead insecure image URL])
[![]([REDACTED: dead insecure image URL])]([REDACTED: dead insecure image URL])

第一次失败,因为我犯了两个错误:

1、删除得不彻底,只删除了kmixer项和包含kmixer的值,应该删除kmixer项和包含kmixer值的项,如下图所示,不仅要删除2和3,**应该删除1**。

2、遇到没有权限的项、值数据便跳过,我觉得其实最关键的就是那几个提示你没有权限的

例如:

我开始删除“项”{9B365890-165F-11D0-A195-0020AFD156E4}时,提示没有权限
[![]([REDACTED: dead insecure image URL])]([REDACTED: dead insecure image URL])
 应该右键“项”{9B365890-165F-11D0-A195-0020AFD156E4},给“Everyone”添加权限“完全控制”
[![]([REDACTED: dead insecure image URL])]([REDACTED: dead insecure image URL])

## 后记

如果我没有记错的话,这问题确实从一开始安装XP时,就存在的。按道理说,系统的算法应该没有问题。我也是按照操作流程一步一步来的。居然会发生注册表信息写入不正确。难道说电脑也会偶尔出错?即便算法正确,用户输入的也相同?

因为声卡依赖的驱动是 Realtek 的驱动,Windows 本身并未提供 Realtek 驱动,只提供 Microsoft Kernel Wave Audio Mixer。

第一次配置声卡驱动时,Windows 由于上述原因按照错误的设置自动安装检测到的声卡,而只有一个 KMIXER 是不能完全驱动此声卡的。此错误的配置又反而影响了正确的声卡驱动的安装。问题估计就是这么阴差阳错引起的。

Leave a Reply